Skip to content

Conversation

@vogella
Copy link
Contributor

@vogella vogella commented Oct 5, 2025

This commit converts AllPerfTests.java from JUnit3 to JUnit5:

  • Converted from JUnit3 TestCase with suite() method to JUnit5 @Suite/@SelectClasses
  • Replaced static Test suite() method with @testfactory for dynamic performance tests
  • Preserved the original behavior for warming up startup tests
  • Preserved headless startup test configuration with eclipse.activateRuntimePlugins=false
  • Preserved UI performance test integration
  • Maintained complex ContentTypePerformanceTest suite behavior via dynamic test execution

The conversion maintains all original test functionality while modernizing to JUnit5:

  • BenchPath.class and PreferencePerformanceTest.class are included via @SelectClasses
  • Complex performance session tests are handled via @testfactory and DynamicTest
  • Error handling for setup failures is preserved using RuntimeException wrapping

All tests (395) continue to pass after the conversion with 4 skipped tests unchanged from the original behavior.

This commit converts AllPerfTests.java from JUnit3 to JUnit5:
- Converted from JUnit3 TestCase with suite() method to JUnit5 @Suite/@SelectClasses
- Replaced static Test suite() method with @testfactory for dynamic performance tests
- Preserved the original behavior for warming up startup tests
- Preserved headless startup test configuration with eclipse.activateRuntimePlugins=false
- Preserved UI performance test integration
- Maintained complex ContentTypePerformanceTest suite behavior via dynamic test execution

The conversion maintains all original test functionality while modernizing to JUnit5:
- BenchPath.class and PreferencePerformanceTest.class are included via @SelectClasses
- Complex performance session tests are handled via @testfactory and DynamicTest
- Error handling for setup failures is preserved using RuntimeException wrapping

All tests (395) continue to pass after the conversion with 4 skipped tests unchanged from the original behavior.
@github-actions
Copy link
Contributor

github-actions bot commented Oct 5, 2025

Test Results

 1 920 files   -  27   1 920 suites   - 27   1h 35m 8s ⏱️ - 14m 47s
 4 721 tests ±  0   4 696 ✅ ±  0   24 💤 ±0  1 ❌ ±0 
14 010 runs   - 153  13 842 ✅  - 153  167 💤 ±0  1 ❌ ±0 

For more details on these failures, see this check.

Results for commit ececae7. ± Comparison against base commit ead5e72.

Copy link
Contributor

@HeikoKlare HeikoKlare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this kind of migration makes sense. SessionTestSuite is outdated (as it relies on JUnit 3/4 concepts). After this change, the test class still relies on SessionTestSuite, which is not a good way forward. All existing SessionTestSuite usages (except for usages of the specialized ConfigurationSessionTestSuite in Equinox eclipse-equinox/equinox#654) have been replaced with a JUnit 5 concept based on the added SessionTestExtension and related functionality. Instead of introducing another way of migrating session tests to JUnit 5 and preserving dependencies to JUnit 3/4 classes, the same pattern should be adopted here as well (or a different approach should be applied consistently everywhere).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants